package com.cbd.dao;

import java.util.List;

import com.cbd.pojo.Landlady;
import com.cbd.pojo.PageBean;
import com.cbd.pojo.RentInfo;
import com.cbd.pojo.User;

public interface LandladyDao {
	
	/**
	 * @Description: 包租婆登陆页面
	 * @param user   
	 * @return int  
	 * @throws
	 * @author yangkai 
	 * @date 2016年10月31日
	 */
	public int login(User user);
	
	/**
	 * @Description: 包租婆注册
	 * @param 传入一个landlady
	 * @return int  
	 * @throws
	 * @author yangkai 
	 * @date 2016年10月31日
	 */
	public int regist(Landlady landlady);
	
	/**
	 * @Description: 通过id查找包租婆
	 * @param id  
	 * @return Landlady  
	 * @throws
	 * @author yangkai 
	 * @date 2016年10月31日
	 */
	public Landlady findLandLayById(int id);
	
	/**
	 * @Description: 查找所有未经审核的包租婆  
	 * @return List<Landlady>  
	 * @throws
	 * @author yangkai 
	 * @date 2016年10月31日
	 */
	public List<Landlady> findAllNoPassLandLady();
	
	/**
	 * @Description: 审批包租婆
	 * @param id   
	 * @return int  
	 * @throws
	 * @author yangkai 
	 * @date 2016年10月31日
	 */
	public int updateLandladyType(int id);
	
	/**
	 * @Description: 查找所有未经审批的包租婆   
	 * @return List<Landlady>  
	 * @throws
	 * @author yangkai 
	 * @date 2016年10月31日
	 */
	public List<Landlady> findAllPortNoPassLandLady();
	/**
	 * <p>创建时间: 2016年10月27日 下午3:16:46.</p>
	 * <p>标题: findLadyByCard.</p>
	 * <p>说明: 根据身份证号码查找是否有这个包租婆.</p>
	 * @param card
	 * @return Landlady
	 * @throws
	 * @author 杨文晶<br>
	 * @version 1.0.0.0
	 */
	public Landlady findLadyByCard(String card);

	/**
	 * 包租婆发布一条出租信息
	 * @param info 页面传递过来的信息
	 */
	public void publishRentInfo(RentInfo info);

	/**
	 * 修改包租婆信息
	 */
	public int updateLandlady(Landlady landLady,int id);
	/**
	 * 通过页面传过来的id查用户
	 * @param id 页面传过来的id，通过id查user
	 * @return 返回一个包租婆对象
	 */
	public Landlady showlandLady(int id);
	/**
	 * 通过包租婆ID增加一条她的成交记录
	 * @param ladyID
	 */
	public void updateRPById(int ladyID);
	/**
	 * <p>创建时间: 2016年11月3日 下午2:59:33.</p>
	 * <p>标题: findAllUnAbelPort.</p>
	 * <p>说明:分页显示所有待审核车位的包租婆.</p>
	 * @param @return
	 * @return List<Landlady>
	 * @throws
	 * @author 杨文晶<br>
	 * @version 1.0.0.0
	 * @param pageBean 
	 */
	public PageBean  findAllUnAbelPort(PageBean pageBean);
	/**
	 * <p>创建时间: 2016年11月3日 下午2:59:33.</p>
	 * <p>标题: findAllUnAbelPort.</p>
	 * <p>说明:显示所有待审核车位的包租婆.</p>
	 * @param @return
	 * @return List<Landlady>
	 * @throws
	 * @author 杨文晶<br>
	 * @version 1.0.0.0
	 * @param pageBean 
	 */
	public List<Landlady> findAllUnAbelPort();

	/**
	 * <p>创建时间: 2016年11月3日 下午3:41:56.</p>
	 * <p>标题: findAllUnablePortByLadyID.</p>
	 * <p>说明: 通过包租婆ID查找名下所有未经审核的车位.</p>
	 * @param @param parseInt 包租婆ID
	 * @param @return
	 * @return List<Landlady>
	 * @throws
	 * @author 杨文晶<br>
	 * @version 1.0.0.0
	 */
	public List<Landlady> findAllUnablePortByLadyID(int parseInt);
	/**
	 * <p>说明：通过包租婆的审核状态来获得所有满足条件的包租婆</p>
	 * @param ladyType  false没有通过审核  true 通过审核
	 * @return List<Landlady>
	 * @author 罗旭<br>
	 */
	public List<Landlady> findAllLandladyByLadyType(boolean ladyType);
	
	/**
	 * <p>说明：通过包租婆的审核状态和每页显示条数，当前页码得到一页的数据</p>
	 * <p>数据包含：landladyID   userName  realName  cardID  提交时间  </p>
	 * @param ladyType false没有通过审核  true 通过审核
	 * @param pageSize 每页显示的条数
	 * @param currentPage 当前页码
	 * @return List<Object[]>
	 * @author 罗旭<br>
	 */
	public List<Object[]> findOnePageLandladyByLadyTypeAndPage(boolean ladyType,
			int pageSize, int currentPage);
	
	/**
	 * <p>说明：通过包租婆ID得到该包租婆</p>
	 * @param ladyID 包租婆ID
	 * @return 包租婆
	 * @author 罗旭<br>
	 */
	public Landlady findLandladyByLadyID(int ladyID);
	
	/**
	 * <p>说明：通过包租婆ID修改此包租婆的审核状态</p>
	 * <p>此方法可以用于修改包租婆状态</p>
	 * @param ladyID 包租婆ID
	 * @param ladyType 包租婆状态
	 * @return 受影响行数
	 * @author 罗旭<br>
	 */
	public int updateLandladyTypeByLadyID(int ladyID,boolean ladyType);
	
	/**
	 * <p>说明：删除包租婆和级联的User</p>
	 * <p>用途：在操作员管理包租婆审批，拒绝通过事后删除该条数据</p>
	 * @param lady 包租婆
	 * @author 罗旭<br>
	 * @date 2016年11月11日 下午4:37:23
	 */
	public void deleteLandladyAndUser(Landlady lady);
}
